// VS_BEGIN
#version 330 core
layout (location = 0) in vec3 aPos;
layout (location = 1) in vec2 aCoord;
layout (location = 2) in vec3 aNormal;

uniform mat4 u_model;

layout (std140) uniform EngineUBO
{
    mat4 u_view;
    mat4 u_project;
    vec3 u_camPos;
};

out vec3 g_worldPos;

void main() {
    g_worldPos = vec3(u_model * vec4(aPos, 1.0f));
    gl_Position = u_project * u_view * vec4(g_worldPos, 1.0f);
}
// VS_END

// FS_BEGIN
#version 330 core

in vec3 g_worldPos;

out vec4 FragColor;

uniform vec4 u_id;

void main() {
    FragColor = u_id;
}
// FS_END